<?php

/**
 * documentos actions.
 *
 * @package    cometa
 * @subpackage documentos
 * @author     Your name here
 * @version    SVN: $Id: actions.class.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $
 */
class documentosActions extends sfActions
{
 /**
  * Executes index action
  *
  * @param sfRequest $request A request object
  */

    public function executeIndex(sfWebRequest $request)
  {



  }

  public function executeUploadFile(sfWebRequest $request)
  {
          $file_img_tmp  =  $_FILES['fileIng']['tmp_name'];
          $name_img_tmp  =  $_FILES['fileIng']['name'];
          $id_file       =  $request->getParameter('id-file');
          $idFicha       =  $request->getParameter('id-ficha');
          $ruta          =  sfConfig::get('sf_upload_dir');
         
          if($file_img_tmp != null)
          {
            $DS = DIRECTORY_SEPARATOR;
            $nom_img = $idFicha.'_'.$name_img_tmp;

            $documento=DocumentoPeer::retrieveByPK($idFicha);
            $documento->setRutaDocumento($nom_img);
            $documento->save();
            move_uploaded_file($file_img_tmp, $ruta.$DS.'documento'.$DS.$nom_img);
            $this->id = $idFicha;
            return sfView::SUCCESS;
          }
          else
          {
             return sfView::ERROR;
          }


  }
  
  public function executeFichaDocumento(sfWebRequest $request)
  {
      $lista_especialidad=EspecialidadPeer::doSelect(new Criteria());
      $lista_tipo_documento=TipoDocumentoPeer::doSelect(new Criteria());
      $lista_tipo_archivo=TipoArchivoPeer::doSelect(new Criteria());

      $this->lista_especialidad=$lista_especialidad;
      $this->lista_tipo_documento=$lista_tipo_documento;
      $this->lista_tipo_archivo=$lista_tipo_archivo;
  }
  
  public function executeGrabar(sfWebRequest $request)
  {
      /*OBTENGO EL ID DE SESSION DEL USUARIO*/
      $id_usuario=3;
      
      $servicioDocumento = new documentosClass();
         $imagen_file = $_FILES["imag_portada"]["tmp_name"];
         $imagen_name = $_FILES["imag_portada"]["name"];


      $arrayParametros    = array(
                                    "titulo"            => $request->getParameter('titulo'),
                                    "descripcion"       => $request->getParameter('descripcion'),
                                    "tipoDocumentoId"   => $request->getParameter('cbo_tipoDocumento'),
                                    "indice"            => $request->getParameter('indice'),
                                    "palabra_clave"     => $request->getParameter('palabra_clave'),
                                    "fuente_consultada" => $request->getParameter('fuente_consultada'),
                                    "precio"            => $request->getParameter('precio'),
                                    "autor"             => $request->getParameter('autor'),
                                    "especialidadId"    => $request->getParameter('cbo_especialidad'),
                                    "anio"              => $request->getParameter('anio'),
                                    "lugar"             => $request->getParameter('lugar'),
                                    "tipoArchivoId"     => $request->getParameter('cbo_tipoArchivo'),
                                    "calificacion"      => $request->getParameter('calificacion'),
                                    "tipo_pago"         => $request->getParameter('rdPago'),
                                    "imagen_file"       => $imagen_file,
                                    "imagen_name"       => $imagen_name,
                                    "id_usuario"        => $id_usuario

                                 );      
      $respuesta=$servicioDocumento->insertDocumento($arrayParametros);

      if($respuesta["success"]){
       $this->redirect('documentos/subir_modificar?respuesta='.$respuesta['object']->getId());
      }else{
          $this->getUser()->setFlash('sf_Error', $respuesta['message']);
          $this->getUser()->setFlash('sf_Error_parametros',$arrayParametros);
          $this->redirect('@documento_fiha');
      }

      
  }
  
  
  public function executeDetalleDocumento(sfWebRequest $request)
  {  
      $documentoId = $request->getParameter('idDocumento');
      $documentoBean = DocumentoPeer::retrieveByPK($documentoId);
      if(is_object($documentoBean))
      {
          $this->documento = $documentoBean;
          return sfView::SUCCESS;
      }
       return sfView::ERROR;
      
  }
  public function executeSubir_modificar(sfWebRequest $request)
  {

      $idDocumento = $request->getParameter('respuesta');
      $this->idDocumento= $idDocumento;

      /*obtengo el documento actual*/
      $bucar_documento=new Criteria();
      $bucar_documento->add(DocumentoPeer::ID,$idDocumento);
      $documento=DocumentoPeer::doSelectOne($bucar_documento);

      $this->documento=$documento;

      /* deberia obtener el listado de domentos que tiene la persoana*/
      /*obtego el id dl usuario en sesion*/
      $id_usuario_sesion=3;

      $documento_usuario=new Criteria();
      $documento_usuario->add(DocumentoPeer::ID_USUARIO,$id_usuario_sesion);

      $listarDocumento_usuario=DocumentoPeer::doSelect($documento_usuario);
      $this->listarDocumento_usuario=$listarDocumento_usuario;




  }

   public function executeDelete_documento(sfWebRequest $request)
  {
      /*id del documento que se quiere eliminar*/
      $id=$request->getParameter('id_documento');
      $id_actual=$request->getParameter('id_actual');

      if($id!=$id_actual){
      $documento=DocumentoPeer::retrieveByPK($id);
      $documento->delete();
      /*id actual del documento que sea diferente al que se esta subiendo */

      $this->redirect('documentos/subir_modificar?respuesta='.$id_actual);
      }
      else{
          $documento=DocumentoPeer::retrieveByPK($id_actual);
          $documento->delete();
          $this->redirect('documentos/fichaDocumento');
      }
  }
 public function executeDelete_documento_actual(sfWebRequest $request)
  {
     /*elimino el documento que se esta subiendo */
      $id_doc_actual=$request->getParameter('id_doc');
      $documento=DocumentoPeer::retrieveByPK($id_doc_actual);
      $documento->delete();

    $this->redirect('@documento_fiha');

  }
  
  
  
}
